package com.fcscs.cservice.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.fcscs.core.dao.Dao;
import com.fcscs.cservice.domain.InRoomMenu;

@Repository
public interface InRoomMenuDao extends Dao {

	/**
	 * @param <E>
	 * @param cls
	 * @param id
	 * @return
	 */
	<E extends InRoomMenu> E get(Class<E> cls, long id);

	/**
	 * @param id
	 * @return
	 */
	InRoomMenu get(long id);

	/**
	 * @param loc
	 * @return
	 */
	Boolean delete(InRoomMenu loc);

	/**
	 * @param loc
	 */
	void permDelete(InRoomMenu loc);
	
	void permDeleteAll(long orgId, long propId);

	/**
	 * @param <E>
	 * @param loc
	 * @return
	 */
	<E extends InRoomMenu> void save(E loc);

	
	boolean isInRoomMenuTaken(long orgId, long propId, Long id, long categoryId, Long subcategoryId,
			Long itemId, Long autoSuggestionItemId, long versionId);	
	
	List<InRoomMenu> getInRoomMenuList(long orgId, long propId, long versionId);
	
}
